const http = require("http");
const fs = require("fs");

// 创建服务
const app = http.createServer((req, res) => {
    // 服务器的物理绝对路径
    const absolutePath = process.cwd() + req.url;
    // 不存在
    if (!fs.existsSync(absolutePath)) {
        res.end("Not Found.");
        return;
    }
    // 判断是文件还是目录，显示不同的内容
    const stat = fs.statSync(absolutePath);
    if (stat.isDirectory()) {
        const fileArr = fs.readdirSync(absolutePath);
        const htmlArr = fileArr.map(
            (item) => `<a href="${req.url}/${item}">${item}</a></br>`
        );
        res.end(htmlArr.join(""));
    } else {
        res.end(fs.readFileSync(absolutePath));
    }
});

// 监听端口，提供服务
app.listen(23213, () => {
    console.log("服务已启动");
});
